#include <hxcpp.h>

#ifndef INCLUDED_cpp_CppInt32__
#include <cpp/CppInt32__.h>
#endif
#ifndef INCLUDED_haxe_Int64
#include <haxe/Int64.h>
#endif
#ifndef INCLUDED_haxe_Public
#include <haxe/Public.h>
#endif
#ifndef INCLUDED_jax_JArray
#include <jax/JArray.h>
#endif
#ifndef INCLUDED_jax_JValue
#include <jax/JValue.h>
#endif
#ifndef INCLUDED_jax_lang_JObject
#include <jax/lang/JObject.h>
#endif
namespace jax{

::jax::JValue  JValue_obj::_array(::jax::JArray v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_array"),0,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_boolean(bool v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_boolean"),9,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_byte(int v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_byte"),7,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_char(int v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_char"),8,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_double(Float v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_double"),4,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_exter(Dynamic v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_exter"),2,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_float(Float v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_float"),3,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_int(::cpp::CppInt32__ v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_int"),5,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_long(::haxe::Int64 v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_long"),6,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_object(::jax::lang::JObject v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_object"),1,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue  JValue_obj::_short(int v)
	{ return hx::CreateEnum< JValue_obj >(HX_CSTRING("_short"),10,hx::DynamicArray(0,1).Add(v)); }

::jax::JValue JValue_obj::_void;

HX_DEFINE_CREATE_ENUM(JValue_obj)

int JValue_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("_array")) return 0;
	if (inName==HX_CSTRING("_boolean")) return 9;
	if (inName==HX_CSTRING("_byte")) return 7;
	if (inName==HX_CSTRING("_char")) return 8;
	if (inName==HX_CSTRING("_double")) return 4;
	if (inName==HX_CSTRING("_exter")) return 2;
	if (inName==HX_CSTRING("_float")) return 3;
	if (inName==HX_CSTRING("_int")) return 5;
	if (inName==HX_CSTRING("_long")) return 6;
	if (inName==HX_CSTRING("_object")) return 1;
	if (inName==HX_CSTRING("_short")) return 10;
	if (inName==HX_CSTRING("_void")) return 11;
	return super::__FindIndex(inName);
}

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_array,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_boolean,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_byte,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_char,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_double,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_exter,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_float,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_int,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_long,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_object,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JValue_obj,_short,return)

int JValue_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("_array")) return 1;
	if (inName==HX_CSTRING("_boolean")) return 1;
	if (inName==HX_CSTRING("_byte")) return 1;
	if (inName==HX_CSTRING("_char")) return 1;
	if (inName==HX_CSTRING("_double")) return 1;
	if (inName==HX_CSTRING("_exter")) return 1;
	if (inName==HX_CSTRING("_float")) return 1;
	if (inName==HX_CSTRING("_int")) return 1;
	if (inName==HX_CSTRING("_long")) return 1;
	if (inName==HX_CSTRING("_object")) return 1;
	if (inName==HX_CSTRING("_short")) return 1;
	if (inName==HX_CSTRING("_void")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic JValue_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("_array")) return _array_dyn();
	if (inName==HX_CSTRING("_boolean")) return _boolean_dyn();
	if (inName==HX_CSTRING("_byte")) return _byte_dyn();
	if (inName==HX_CSTRING("_char")) return _char_dyn();
	if (inName==HX_CSTRING("_double")) return _double_dyn();
	if (inName==HX_CSTRING("_exter")) return _exter_dyn();
	if (inName==HX_CSTRING("_float")) return _float_dyn();
	if (inName==HX_CSTRING("_int")) return _int_dyn();
	if (inName==HX_CSTRING("_long")) return _long_dyn();
	if (inName==HX_CSTRING("_object")) return _object_dyn();
	if (inName==HX_CSTRING("_short")) return _short_dyn();
	if (inName==HX_CSTRING("_void")) return _void;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("_array"),
	HX_CSTRING("_object"),
	HX_CSTRING("_exter"),
	HX_CSTRING("_float"),
	HX_CSTRING("_double"),
	HX_CSTRING("_int"),
	HX_CSTRING("_long"),
	HX_CSTRING("_byte"),
	HX_CSTRING("_char"),
	HX_CSTRING("_boolean"),
	HX_CSTRING("_short"),
	HX_CSTRING("_void"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(JValue_obj::_void,"_void");
};

static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JValue_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(JValue_obj::_void,"_void");
};

static ::String sMemberFields[] = { ::String(null()) };
Class JValue_obj::__mClass;

Dynamic __Create_JValue_obj() { return new JValue_obj; }

void JValue_obj::__register()
{

Static(__mClass) = hx::RegisterClass(HX_CSTRING("jax.JValue"), hx::TCanCast< JValue_obj >,sStaticFields,sMemberFields,
	&__Create_JValue_obj, &__Create,
	&super::__SGetClass(), &CreateJValue_obj, sMarkStatics, sVisitStatic);
}

void JValue_obj::__boot()
{
Static(_void) = hx::CreateEnum< JValue_obj >(HX_CSTRING("_void"),11);
}


} // end namespace jax
